home *** CD-ROM | disk | FTP | other *** search
/ MacFormat España 15 / macformat_15.iso / C de cerca / Codewarrior Lite / MacOS Support / Headers / ANSI Headers / new < prev    next >
Text File  |  1995-12-29  |  2KB  |  86 lines

  1. // new standard header
  2. #if !__MWERKS__
  3.  
  4. #ifndef _NEW_
  5. #define _NEW_
  6. #include <exception>
  7.         // class xalloc
  8. class xalloc : public xruntime {
  9. public:
  10.     xalloc(const char * = 0, const char * = 0,
  11.         const char * = 0);
  12.     virtual ~xalloc();
  13. protected:
  14.     virtual void do_raise();
  15.     };
  16.         // function and object declarations
  17. fvoid_t *set_new_handler(fvoid_t *);
  18. void operator delete(void *);
  19. void *operator new(size_t);
  20. inline void *operator new(size_t, void *_P)
  21.     {return (_P); }
  22. #if _HAS_ARRAY_NEW
  23. void operator delete[](void *);
  24. void *operator new[](size_t);
  25. inline void *operator new[](size_t, void *_P)
  26.     {return (_P); }
  27. #endif
  28. extern fvoid_t (*_New_hand);
  29. #endif
  30.  
  31. #else /* __MWERKS__ */
  32.  
  33. #ifndef __NEW__
  34. #define __NEW__
  35.  
  36. #pragma options align=mac68k
  37.  
  38. #if __CFM68K__ && __USING_IMPORTED_ANSI__
  39. #pragma import on
  40. #endif
  41.  
  42. #ifndef __STDDEF__
  43. #include <stddef.h>
  44. #endif
  45.  
  46. #include <exception>
  47.         // class xalloc
  48. class xalloc : public xruntime {
  49. public:
  50.     xalloc(const char * = 0, const char * = 0,
  51.         const char * = 0);
  52.     virtual ~xalloc();
  53.     };
  54.  
  55. void operator delete(void *);
  56. void *operator new(size_t);
  57. inline void *operator new(size_t, void *_P)
  58.     {return (_P); }
  59. void (*set_new_handler (void (*) ())) ();
  60. //extern void (*set_new_handler (void (*) ())) ();
  61. //extern void *operator new(size_t size,void *p);
  62.  
  63. //    non-standard functions
  64. extern void _set_newpoolsize(size_t);        //    default: 0x00010000L
  65. extern void _set_newnonptrmax(size_t);        //    default: 0x00001000L
  66. extern char _prealloc_newpool(size_t);        //    preallocte a new buffer
  67.  
  68. #if __CFM68K__ && __USING_IMPORTED_ANSI__
  69. #pragma import reset
  70. #endif
  71.  
  72. #pragma options align=reset
  73.  
  74. #endif
  75.  
  76. #endif /* __MWERKS__ */
  77. /*
  78.  * Copyright (c) 1994 by P.J. Plauger.  ALL RIGHTS RESERVED. 
  79.  * Consult your license regarding permissions and restrictions.
  80.  */
  81.  
  82. /* Change log:
  83.  *94June04 PlumHall baseline
  84.  *94Oct07 Inserted MW changes.
  85.  */
  86.